package org.example.repository;

import org.example.entity.ChatInfo;
import org.springframework.stereotype.Repository;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Repository
public class MemoryChatHistoryRepository implements ChatHistoryRepository{
    /**
     * 保存会话记录
     * 如果是新会话, 则新增
     * 如果会话已经存在, 则更新
     */
    //使用map可以直接插入，如果是新的会话直接插入
    // 如果是更改已存在的会话，直接修改
    private Map<String,String> chatInfos=new HashMap<>();
    @Override
    public void save(String chatId, String title) {
        chatInfos.put(chatId,title);
    }

    @Override
    public void clearByChatId(String chatId) {
        chatInfos.remove(chatId);
    }

    @Override
    public List<ChatInfo> getChats() {
        return  chatInfos.entrySet()
                .stream()
                .map(entry->new ChatInfo(entry.getKey(),entry.getValue()))
                .collect(Collectors.toList());
    }
}
